package DARP;

import java.util.LinkedList;

public class Rota{
	int  tempoMaxDaRotaVeiculo, cargaMaximaDoVeiculo, tempoMaxDeViagemPermitidoCliente, tempoTotalDestaRota, distanciaPercorridaPelaRota ;



	private LinkedList<Float>   A, B, D, W, R, T, Q, F;//, e, l, s, tempoMaximoDeEspera;
	private LinkedList<Integer> rota;//, acao;


	public Rota(LinkedList<Integer> rota, LinkedList<Float>  A, LinkedList<Float>  B, LinkedList<Float>  D, LinkedList<Float>  W, 
			LinkedList<Float>  R, LinkedList<Float>  T, LinkedList<Float>  Q, LinkedList<Float>  F){
		//, LinkedList<Float>  e,	LinkedList<Float>  l, LinkedList<Integer> acao, LinkedList<Float>  s, int tempoMaxDeViagemPermitidoCliente, int tempoMaxDaRotaVeiculo, int cargaMaximaDoVeiculo ) {
		this.rota = rota;
		this.A = A;
		this.B = B;
		this.D = D;
		this.W = W;
		this.R = R;
		this.T = T;
		this.Q = Q;
		this.F = F;
		//		this.e = e;
		//		this.l = l;
		//		this.acao = acao;
		//		this.s = s;
		//		this.tempoMaxDaRotaVeiculo = tempoMaxDaRotaVeiculo;
		//		this.tempoMaxDeViagemPermitidoCliente = tempoMaxDeViagemPermitidoCliente;
		//		this.tempoMaximoDeEspera = tempoMaximoDeEspera;
		//		this.cargaMaximaDoVeiculo =  cargaMaximaDoVeiculo;
	}





	public void setTodasAsVariaveisDaRota(LinkedList<Integer> rota, LinkedList<Float>  A, LinkedList<Float>  B, LinkedList<Float>  D, LinkedList<Float>  W, 
			LinkedList<Float>  R, LinkedList<Float>  T, LinkedList<Float>  Q, LinkedList<Float>  F
			//, LinkedList<Float>  e,	LinkedList<Float>  l, LinkedList<Integer> acao, LinkedList<Float>  s
	) {
		this.rota = rota;
		this.A = A;
		this.B = B;
		this.D = D;
		this.W = W;
		this.R = R;
		this.T = T;
		this.Q = Q;
		this.F = F;
		//		this.e = e;
		//		this.l = l;
		//		this.acao = acao;
		//		this.s = s;
	}

	public int getTempoTotalDestaRota() {
		return tempoTotalDestaRota;
	}

	public void setTempoTotalDestaRota(int tempoTotalDestaRota) {
		this.tempoTotalDestaRota = tempoTotalDestaRota;
	}

	public int getDistanciaPercorridaPelaRota() {
		return distanciaPercorridaPelaRota;
	}

	public void setDistanciaPercorridaPelaRota(int distanciaPercorridaPelaRota) {
		this.distanciaPercorridaPelaRota = distanciaPercorridaPelaRota;
	}

	public int getTempoMaxDaRotaVeiculo() {
		return tempoMaxDaRotaVeiculo;
	}

	public void setTempoMaxDaRotaVeiculo(int tempoMaxDaRotaVeiculo) {
		tempoMaxDaRotaVeiculo = tempoMaxDaRotaVeiculo;
	}

	public int getCargaMaximaDoVeiculo() {
		return cargaMaximaDoVeiculo;
	}

	public void setCargaMaximaDoVeiculo(int cargaMaximaDoVeiculo) {
		this.cargaMaximaDoVeiculo = cargaMaximaDoVeiculo;
	}


	//	public LinkedList<Integer> getAcao() {
	//		return acao;
	//	}
	//
	//	public void setAcao(LinkedList<Integer> acao) {
	//		this.acao = acao;
	//	}

	public void setTempoMaxDeViagemPermitidoCliente(
			int tempoMaxDeViagemPermitidoCliente) {
		this.tempoMaxDeViagemPermitidoCliente = tempoMaxDeViagemPermitidoCliente;
	}

	public LinkedList<Integer> getRota() {
		return rota;
	}

	public void setRota(LinkedList<Integer> rota) {
		this.rota = rota;
	}

	public LinkedList<Float> getA() {
		return A;
	}

	public void setA(LinkedList<Float> a) {
		A = a;
	}

	public LinkedList<Float> getB() {
		return B;
	}

	public void setB(LinkedList<Float> b) {
		B = b;
	}

	public LinkedList<Float> getD() {
		return D;
	}

	public void setD(LinkedList<Float> d) {
		D = d;
	}

	public LinkedList<Float> getW() {
		return W;
	}

	public void setW(LinkedList<Float> w) {
		W = w;
	}

	public LinkedList<Float> getR() {
		return R;
	}

	public void setR(LinkedList<Float> r) {
		R = r;
	}

	public LinkedList<Float> getT() {
		return T;
	}

	public void setT(LinkedList<Float> t) {
		T = t;
	}

	public LinkedList<Float> getQ() {
		return Q;
	}

	public void setQ(LinkedList<Float> q) {
		Q = q;
	}

	public LinkedList<Float> getF() {
		return F;
	}

	public void setF(LinkedList<Float> f) {
		F = f;
	}

	//	public LinkedList<Float> getE() {
	//		return e;
	//	}
	//
	//	public void setE(LinkedList<Float> e) {
	//		this.e = e;
	//	}
	//
	//	public LinkedList<Float> getL() {
	//		return l;
	//	}
	//
	//	public void setL(LinkedList<Float> l) {
	//		this.l = l;
	//	}
	//
	//	public LinkedList<Float> getS() {
	//		return s;
	//	}
	//
	//	public void setS(LinkedList<Float> s) {
	//		this.s = s;
	//	}
	//
	//	public LinkedList<Float> getTempoMaximoDeEspera() {
	//		return tempoMaximoDeEspera;
	//	}
	//
	//	public void setTempoMaximoDeEspera(LinkedList<Float> tempoMaximoDeEspera) {
	//		this.tempoMaximoDeEspera = tempoMaximoDeEspera;
	//	}

	public int getTempoMaxDeViagemPermitidoCliente() {
		return tempoMaxDeViagemPermitidoCliente;
	}

	//	public void removetE(int indice) {
	//		this.e.remove(indice);
	//	}
	//
	//	public void adicionaE(int indice, float elemento) {
	//		this.e .add(indice, elemento);
	//	}
	//
	//	public void removetL(int indice) {
	//		this.l.remove(indice);
	//	}
	//
	//	public void adicionaL(int indice, float elemento) {
	//		this.l .add(indice, elemento);
	//	}
	//
	//	public void removetAcao(int indice) {
	//		this.acao.remove(indice);
	//	}
	//
	//	public void adicionAcao(int indice, int elemento) {
	//		this.acao.add(indice, elemento);
	//	}
	//
	//	public void removetS(int indice) {
	//		this.s.remove(indice);
	//	}
	//
	//	public void adicionaS(int indice, float elemento) {
	//		this.s .add(indice, elemento);
	//	}

	public void removetT(int indice) {
		this.T.remove(indice);
	}

	public void removetQ(int indice) {
		this.Q.remove(indice);
	}

	public void removetW(int indice) {
		this.W.remove(indice);
	}

	public void removetR(int indice) {
		this.R.remove(indice);
	}

	public void removetD(int indice) {
		this.D.remove(indice);
	}

	public void removetB(int indice) {
		this.B.remove(indice);
	}

	public void removetA(int indice) {
		this.A.remove(indice);
	}

	public void removetF(int indice) {
		 	this.F.remove(indice);
		
	}
	
	public void adicionaT(int indice, float elemento) {
		this.T.add(indice, elemento);

	}


	public void adicionaQ(int indice, float elemento) {
		this.Q.add(indice, elemento);

	}


	public void adicionaW(int indice, float elemento) {
		this.W.add(indice, elemento);

	}


	public void adicionaR(int indice, float elemento) {
		this.R.add(indice, elemento);
	}


	public void adicionaD(int indice, float elemento) {
		this.D.add(indice, elemento);

	}


	public void adicionaB(int indice, float elemento) {
		this.B.add(indice, elemento);
	}


	public void adicionaA(int indice, float elemento) {
		this.A.add(indice, elemento);
	}
	//	public void adicionaAcao(int indice, int elemento) {
	//		this.acao.add(indice, elemento);
	//
	//	}





	public void adicionaF(int indice, float elemento) {
		this.F.add(indice, elemento);
		
	}





	

}